import http from "@/utils/http"

const baseUrl = "/tips"

export interface TipsVo {
  id: number;
  title: string;
  content: string;
  file: OssFileVo[];  // 来自后端关联的文件信息
  updateBy: string;
  updateTime: string;
  status: number;     // 1-启用 0-不启用
}

// 补充OSS文件类型（根据Java的OssFileVo结构）
export interface OssFileVo {
  ossId: string;
  clientUrl: string;
  fileType: string;
}

// 查询参数类型
export interface TipsQuery {
  pageNum: number;
  pageSize: number;
  title?: string;
  status?: number;  // 0-草稿 1-已发布
  total?: number;   // 总记录数
}

// 表单提交类型
export interface TipsDto {
  id?: number;      // 更新时必填
  title: string;
  content: string;
  ossIds: string[]; // 文件ID数组（注意：后端存储为逗号分隔字符串）
  status: number;
  updateBy?: string;
}

export const addTips = (data:TipsDto) => {
  // @ts-ignore
  data.ossIds = data.ossIds.join(',')
  return http.post(`${baseUrl}`, data)
}

export const delTips = (id: number) => {
  return http.del(`${baseUrl}/${id}`)
}

export const putTips = (data:TipsDto) => {
  // @ts-ignore
  data.ossIds = data.ossIds.join(',')
  return http.put(`${baseUrl}`, data)
}

export const getTipsPage = (params:TipsQuery) => {
  return http.post(`${baseUrl}/get`, params)
}
